import { Avatar } from '@/types'
import { FollowStatus } from '@/enums'

export type VerifyStatus = 1 | 2 | 3 | 4 | 5

export interface UserInfo1 {
	agentId: null
	appearance: number
	avatar: Avatar
	bankCards: BankCard[]
	birthday: Date
	clientId: string
	close: boolean
	createdAt: Date
	currency: string
	displayPushMessageDetail: number
	email: string
	follow?: boolean
	followStatus?: FollowStatus
	// followersCount: number
	// followingCount: number
	from: null
	id: number
	incentive: boolean
	inviteId: null
	kyc: number
	language: string
	light: number
	location: number
	lock: Date
	marketFrom: null
	medal: any[]
	medals: Medal[]
	mobile: string
	newMessageNotification: number
	nickName: string
	notification: number
	odds: string
	privacy: boolean
	realName: string
	requestCount: number
	risk: string
	signature: string
	signupIp: null
	sound: number
	star: number
	testTag: string
	third: any[]
	traceId: null
	updatedAt: Date
	userId: number
	userName: string
	vibration: number
	vip: number
	webOnlinePhoneMuteNotification: number
	[P: string]: any
}
export interface UserInfo2 {
	address: string
	avatar: Avatar
	baseInfoVerifyStatus: boolean
	birthday: number
	city: string
	country: string
	email: string
	emailVerify: boolean
	enable2fa: boolean
	enablePush: boolean
	fanCount: number
	followCount: number
	id: number
	identityVerifyStatus: VerifyStatus
	incognitoMode: boolean
	internationalAreaCode: null
	language: string
	lastName: string
	mobile: string
	mobileVerify: boolean
	name: string
	odds: number
	postalCode: string
	privateMode: boolean
	profession: string
	signature: string | null
	username: string
	vip: number
}

export type UserInfo = UserInfo1 & UserInfo2

export interface BankCard {
	id: number
	cardNumber: string
	cardHolder: string
	status: number
	description: null
	bankId: number
	bankName: string
	bankIcon: string
}

export interface Medal {
	medalId: number
	seasonName: string
	medalImg: string
	medalLevel: number
	'seasonId:': number
}
